1. Field of the Invention
The invention relates generally to methods and apparatus for flexibly allocating bandwidth on a communication path in a digital communication network. More particularly, the invention relates to methods and apparatus that perform the allocation function for each point-to-point, serial, bidirectional communication path (e.g., a T1 line between nodes, an intermodule link within a node, etc.) in a digital switching system, with minimum call blocking and in accord with user selected allocation rules.
2. Description of the Related Art
Communication networks typically consist of a plurality of communications processing nodes connected via communication links, be they leased telephone lines, local area networks (LANs) or wideband span lines operating at 1.544 Mbps or higher. In addition, it is very common to initially deploy a limited number of nodes serving initially some limited number of mainframes and users, terminals, voice trunks and the like.
As a network application matures, the number of nodes invariably increases, and each node grows to support an ever increasing number of customer premises data processing and communications equipment. It invariably forces the users to obsolete the communications processing nodes, because nodes with sufficient reserve processing power are not purchased initially due to cost.
Lines to be serviced by a node are generally of two kinds: "CPE (customer premises equipment) side" and "network side". The CPE-side lines connect to and service such equipments as local terminals, PC's, LAN's, PBX's, and so forth, while the network-side lines connect the particular node to other nodes in the network. In general, lines coming in on the CPE side may carry data at relatively low data rates, while network-side lines are usually high-speed lines (e.g., T1 lines operating at 1.544 Mpbs). It is customary to allocate data rates to network-side line bandwidths in 64 Kbps "slots", which means that a low data rate transaction makes inefficient use of such a slot. For a transaction requiring more than one slot, the prior art generally imposes the constraint that contiguous slots must be allocated; this sometimes leads to call blocking even though sufficient slots are available, because the available slots are not contiguous.
It is also customary for a node to allocate half of a line's bandwidth to transactions that it (the node) may allocate to that line, while reserving the other half for transactions that the node on the other end of that line may allocate to that line; under this arrangement, when a preponderance of transactions is being initiated from one "side" the allocation may be exceeded and calls will have to be blocked, even though unused capability remains allocated to the "other side".
In copending application Ser. No. 07/103,612, filed Oct. 1, 1987, now U.S. Pat. No. 4,852,089, assigned to the same assignee as this invention and hereby incorporated by reference, an invention is disclosed which uses (a) dual-ported processor(s), with one such port being a standard computer bus, the other port being a traditional telecommunications serial wideband port, and (b) a communications sideband space or time-slot switch. The high speed switch connects one, two or more such processing resources to the local data processing and/or communication elements (data terminals, personal computer, PBX, etc.) as well as to the rest of the user's network. When more features or elements are needed locally, or when the network grows larger and additional processing power is required, additional dual-ported processors are installed.
Furthermore, according to the invention described in the copending application, the 64 Kbps "slots" of the lines are further subdivided into individually allocable 8 Kbps "fragments", thus reducing the inefficiency introduced by allocating a low-rate transaction to 64 Kbps slot.
Each node is provided with a bit map for each line connected to a node for keeping track of fragment allocations. Each bit position corresponds to each fragment and the bit occupying that position takes a value of 0 to indicate that the corresponding fragment is available or a value of 1 to indicate that it is in use. Available fragments can be found regardless of their position in the communications line, thus eliminating the need to allocate contiguous slots or contiguous fragments for a transaction requiring more than one.
From the standpoint of a line interconnecting two nodes, the convention is employed that fragments will be allocated by one node starting from the "beginning" of the bit map, and by the other node starting from the "end" of the bit map; the prior-art drawback of inefficiency resulting from fixed allocations is thus eliminated. (It will be recalled that each node maintains a bit map for each line connected to it.) Each node informs the other of allocations by means of a signalling channel contained in the line so that each may keep its bit map current.
As a further improvement over the invention disclosed in the incorporated copending application, it would be desirable if the bit map, fragment oriented, bandwidth allocation techniques used for lines interconnecting nodes, were also used within each node for allocating bandwidth on Inter Module Links (IMLs). IMLs are typically used to couple user equipment connected to the same node, to couple a switch matrix to a user interface within a given node, to couple a node processor to a switch matrix within a given node, etc.
Further yet, it would be desirable to be able to allocate bandwidth on any point-to-point, serial, bidirectional path in the switching system, e.g. T1 line, IML, etc., in a manner that capitalizes on maximum switch granularity and is flexible enough to allow a variety of allocation rules to be requested and implemented. Such a bandwidth allocation facility would enable user (bandwidth requester) needs to be better matched to both maximum switching system capability and available bandwidth resulting in a minimization of contention and call blocking problems.